<?php


// include_once("CCPRestSmsSDK.php");
/**
 * @Author: anchen
 * @Date:   2016-08-05 13:01:13
 * @Last Modified by:   anchen
 * @Last Modified time: 2016-08-06 12:43:13
 *
 */



/*
    这是验证验证码的函数
 */
function check_verify($code, $id = '')
{

     $verify = new \Think\Verify();

    return $verify->check($code, $id);

}


/**
 *    异位或加密字符串
 * @parem [String] $value [需要加密的字符串]
 * @parem [int] $type [加密解密 (0:加密 1：解密 ）]
 * return [string]  解密或者加密之后的字符串
 *
 */

function encryption($value,$type = 0){

    $key = md5('jasonVan');

    if(!$type){

        return str_replace('=','',base64_encode($value ^ $key));

    }

    $value = base64_decode($value);

    return $value ^ $key;


}

/**
 * TODO 基础分页的相同代码封装，使前台的代码更少
 * @param $count 要分页的总记录数
 * @param int $pagesize 每页查询条数
 * @return \Think\Page
 */
function getpage($count, $pagesize = 10) {
  $page = new Think\Page($count, $pagesize);
  $page->setConfig('header', '<li class="rows">共<b>%TOTAL_ROW%</b>条记录 第<b>%NOW_PAGE%</b>页/共<b>%TOTAL_PAGE%</b>页</li>');
  $page->setConfig('prev', '上一页');
  $page->setConfig('next', '下一页');
  $page->setConfig('last', '末页');
  $page->setConfig('first', '首页');
  $page->setConfig('theme', '%FIRST%%UP_PAGE%%LINK_PAGE%%DOWN_PAGE%%END%%HEADER%');
  $page->lastSuffix = false;//最后一页不显示为总页数
  return $page;
}





      
/**
  * 发送模板短信
  * @param to 手机号码集合,用英文逗号分开
  * @param datas 内容数据 格式为数组 例如：array('Marry','Alon')，如不需替换请填 null
  * @param $tempId 模板Id,测试应用和未上线应用使用测试模板请填写1，正式应用上线后填写已申请审核通过的模板ID
  */       
    

function sendTemplateSMS($to,$datas,$tempId)
{
include_once("/Application/Common/Common/CCPRestSmsSDK.php");


    //主帐号,对应开官网发者主账号下的 ACCOUNT SID
    $accountSid= '8aaf0708582eefe9015833513f470214';

    //主帐号令牌,对应官网开发者主账号下的 AUTH TOKEN
    $accountToken= '90f8732c95904ce7b4ee6c91b9236246';

    //应用Id，在官网应用列表中点击应用，对应应用详情中的APP ID
    //在开发调试的时候，可以使用官网自动为您分配的测试Demo的APP ID
    $appId='8aaf0708582eefe90158335140cf021b';

    //请求地址
    //沙盒环境（用于应用开发调试）：sandboxapp.cloopen.com
    //生产环境（用户应用上线使用）：app.cloopen.com
    $serverIP='app.cloopen.com';


    //请求端口，生产环境和沙盒环境一致
    $serverPort='8883';

    //REST版本号，在官网文档REST介绍中获得。
    $softVersion='2013-12-26';

     // 初始化REST SDK
     // global $accountSid,$accountToken,$appId,$serverIP,$serverPort,$softVersion;
     $rest = new REST($serverIP,$serverPort,$softVersion);
     $rest->setAccount($accountSid,$accountToken);
     $rest->setAppId($appId);
    
     // 发送模板短信
     // echo "Sending TemplateSMS to $to <br/>";
     $result = $rest->sendTemplateSMS($to,$datas,$tempId);
     if($result == NULL ) {
         // echo "result error!";
         // break;
     }
     if($result->statusCode!=0) {
         // echo "error code :" . $result->statusCode . "<br>";
         // echo "error msg :" . $result->statusMsg . "<br>";
         //TODO 添加错误处理逻辑
     }else{
         // echo "Sendind TemplateSMS success!<br/>";
         // 获取返回信息
         $smsmessage = $result->TemplateSMS;
         // echo "dateCreated:".$smsmessage->dateCreated."<br/>";
         // echo "smsMessageSid:".$smsmessage->smsMessageSid."<br/>";
         //TODO 添加成功处理逻辑
     }
}
//Demo调用 
    //**************************************举例说明***********************************************************************
    //*假设您用测试Demo的APP ID，则需使用默认模板ID 1，发送手机号是13800000000，传入参数为6532和5，则调用方式为           *
    //*result = sendTemplateSMS("13800000000" ,array('6532','5'),"1");                                      *
    //*则13800000000手机号收到的短信内容是：【云通讯】您使用的是云通讯短信模板，您的验证码是6532，请于5分钟内正确输入     *
    //*********************************************************************************************************************
// sendTemplateSMS("",array('',''),"");//手机号码，替换内容数组，模板ID


// 商品比价
/**
 * 请求接口返回内容
 * @param  string $url [请求的URL地址]
 * @param  string $params [请求的参数]
 * @param  int $ipost [是否采用POST形式]
 * @return  string
 */
function juhecurl($url,$params=false,$ispost=1){
    $httpInfo = array();
    $ch = curl_init();
    // var_dump($ch);exit;
    curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
    curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    if( $ispost )
    {
        curl_setopt( $ch , CURLOPT_POST , true );
        curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
        curl_setopt( $ch , CURLOPT_URL , $url );
    }
    else
    {
        if($params){
            curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
        }else{
            curl_setopt( $ch , CURLOPT_URL , $url);
        }
    }
    // var_dump($url.'?'.$params);exit;
    // var_dump($params);exit;
    // var_dump(curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params ));exit;
    // var_dump($ch);exit;
    $response = curl_exec( $ch );
    // var_dump($response);exit;
    if ($response === FALSE) {
        //echo "cURL Error: " . curl_error($ch);
        return false;
    }
    $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    curl_close( $ch );
    return $response;
}



